#ifndef _EDAIMPRBESTFITASPIRCRIT_H_
#define _EDAIMPRBESTFITASPIRCRIT_H_

#include "edaAspirCrit.h"

class edaImprBestFitAspirCrit : public edaAspirCrit
{
  public:
    edaImprBestFitAspirCrit();
    edaImprBestFitAspirCrit(const edaImprBestFitAspirCrit &ac);
    ~edaImprBestFitAspirCrit();

    edaAspirCrit* clone() const;
    void init();
    bool check(const edaMove *_move, double fitness);

    void Serialize(edaBuffer &buf, bool pack);

    setClassID(_SYSCLASSID_ + _CLSID_EDAIMPRBESTFITASPIRCRIT_);

  private:
    double bestFit;
    bool firstTime;
};

#endif
